#ifndef _PROJECTE_H_
#define _PROJECTE_H_

#include <string>
#include <SECore/Ecs/Scene.h>
#include <memory>
#include <SECore/Serializable.h>

namespace SEngine
{
    struct ProjectOption 
    {
        ProjectOption() { path.resize(256); }
        std::string path;
        std::string name;
    };

    class Project
    {
    public:
        ENABLE_SERIALIZE(Project)
        
    public:
        Project(ProjectOption && opt);
        virtual ~Project() = default;

        ProjectOption & GetOption() { return m_opt; }

        std::shared_ptr<Scene> GetScene() { return m_scene; }
    
    public:
        static std::string s_root;

    private:
        ProjectOption m_opt;
        std::shared_ptr<Scene> m_scene;
    };
} // namespace SEngine



#endif